\section{Consigna I - Capturando tr\'afico}

En esta consigna se ha desarollado una herramienta que captura paquetes ARP
durante un determinado tiempo y guarda el tr\'afico capturado en un archivo.
Esta herramienta se ejecut\'o en varios contextos distintos: varias redes
interna de una oficina y una red hogare\~na.  Se consider\'o el contexto con
mayor tr\'afico para hacer un an\'alisis de entrop\'ia sobre los paquetes
capturados.

\subsection{Inciso A}
La herramienta para escuchar pasivamente la red local se desaroll\'o en
\textit{Python} utilizando la funci\'on \textit{sniff} del paquete
\textit{scapy.all}.  El c\'odigo se encuentra en \textit{codigos/monitor.py}.
En el mismo se puede ingresar el archivo donde se guardar\'an los datos de
captura. \\ Los datos pedidos por el punto \textit{b} de la consigna son
impresos en la linea de comando. Adicionalmente, los mismos se guardan como un
archivo de formato \textit{PCAP}, con el nombre dado por el primer argumento
del programa.  Se pueden visualizar con otra herramienta desarollada en
\textit{python} y utilizando la misma librer\'ia. Esta herramienta se encuentra
en \textit{codigos/dump.py}.

\subsection{Inciso B}

Las fuentes de entropía definidas originalmente en el código entregado por la
cátedra dan dos alfabetos: las direcciones IP de destino, y las direcciones de
órigen de los paquetes ARP capturados, tanto de paquetes Who-Has como Is-At.

\subsection{Inciso C}

\begin{table}[h!]
\caption{Capturas de redes locales}
\begin{center}
\begin{tabular}{|r|p{4cm}|r|r|p{6cm}|}
\hline 
\textbf{Etiqueta} & \textbf{Servidor usado} & \textbf{Tiempo} & \textbf{Paquetes} & \textbf{Comentarios}  \\
\hline
Alto Palermo & Nodo en red WiFi pública de shopping & 20 minutos & 1436 & Gran volumen de tráfico. \\
\hline 
oficina1 & Nodo conectado a red WiFi de una oficina & 30 minutos & 16 & Al detectarse poco tr\'afico se detuvo la captura. \\
\hline
oficina2 & Nodo conectado a red WiFi de una oficina & 10 minutos & 6 & Al detectarse poco tr\'afico se detuvo la captura. \\
\hline 
oficina3 & Gateway de una oficina. Con varias salidas a internet balanceadas & 2 horas & 361 & De todas las redes capturadas fu\'e la que tuvo un comportamiento mas completo. \\	
\hline 
casa1 & Nodo conectado a wifi hogare\~na & 10 minutos & 2 & Al detectarse poco tr\'afico se detuvo la captura \\
\hline
\end{tabular}
\end{center}
\end{table}

Los archivos crudos de las capturas (tipo \textit{pcap}) pueden encontrase en
el directorio \textit{capturas/}. \\ El grupo decidi\'o usar las mediciones de
la red \textit{oficina3} para los an\'alisis posteriores porque fu\'e la
captura que ten\'ia mas diversidad de comportamiento y abarcaba varias redes y
subredes, debido a que se trataba del \textit{gateway} de una oficina con
varias salidas a internet que balancean la carga de acceso a esta red.\\ Luego
de realizarse la medici\'on se detect\'o una gran cantidad de paquetes ARP del
tipo \textit{announcement} de una misma IP. La IP que generaba estos paquetes
correspond\'ia a una impresora de red y fueron filtrados para los an\'alisis ya
que este dispositivo no interact\'uaba con ning\'un otro.

La entrop\'ia total se calcul\'o en base 2.

\begin{table}[h!]
    \caption{Entrop\'ia de modelos de la cátedra en \textit{oficina3}}
\begin{center}
\begin{tabular}{|r|r|r|r|}
\hline 
\textbf{Modelo} & \textbf{Eventos} & \textbf{\#IPs} & \textbf{H (bits)} \\
\hline 
IPs source & $258$ & $16$ & $2.833501$ \\
\hline 
IPs destino & $258$ & $16$ & $2.838998$ \\
\hline 
\textbf{Total} & \textbf{258} & $22$ &  \\
\hline
\end{tabular}
\end{center}
\end{table}


El hecho de que la entropía de ambas
fuentes es similar implica que hay un comportamiento muy similar en la
frecuencia de los símbolos de ambas, es decir que la cantidad y frecuencia
relativa de apariciones de una IP como emisor o receptor de un paquete es muy
parecida. 

Como un alfabeto refleja la entropía de emisores y otra la de los receptores,
eso implica que para cada IP que emisora con cierta frecuencia, exista otra que
es receptora con una frecuencia similar. Esto resulta ser así; por ejemplo, la IP
\textit{192.168.3.123} aparece como fuente y destinto 118 veces, los pares
\textit{192.168.0.1} y \textit{192.168.0.6} tienen alternadamete 12 y 25
apariciones como fuente y destinto, y en general vemos que el patrón se cumple.


\begin{table}[h!]
    \caption{Tabla de frecuencias de emisor y receptor por IP para \textit{oficina3}}
\begin{center}
\begin{tabular}{|r|r|r|r|r|}
\hline 
IP & Src Count & Dst Count &  P(Src) &  P(Dst) \\
\hline 
192.168.3.1 & 16 & 6 &  0.062016 & 0.023256 \\
\hline 
190.55.91.185  & 1 &  0 &0.003876  &  0 \\
\hline 
10.178.128.1  &  0 &  1 &0 &  0.003876 \\
\hline 
190.55.88.1 & 0 &  1 &  0 &  0.003876 \\
\hline 
181.47.147.138 &  1 &  0 &  0.003876  &  0 \\
\hline 
190.195.105.195 & 6 &  0 &  0.023256 &   0 \\
\hline 
192.168.0.1 & 12 & 25 & 0.046512  &  0.096899 \\
\hline 
192.168.0.6 & 25 & 12 & 0.096899  &  0.046512 \\
\hline 
192.168.1.1 & 13 &  0 &   0.050388 &  0 \\
\hline 
192.168.3.32  &  8  & 6 &  0.031008 &   0.023256 \\
\hline 
192.168.3.31   & 2  & 13  & 0.007752  &  0.050388 \\
\hline 
190.195.105.1  & 0  & 6   & 0  & 0.023256 \\
\hline 
181.47.144.1   & 0  & 1   & 0  & 0.003876 \\
\hline 
192.168.3.123  & 118& 118 & 0.457364  &  0.457364 \\
\hline 
192.168.10.15  & 8  & 8   & 0.031008 &   0.031008 \\ 
\hline 
192.168.10.12  & 23 & 8   & 0.089147 &   0.031008 \\
\hline 
10.29.161.165  & 6  & 0   & 0.023256 &   0 \\ 
\hline 
192.168.1.15   & 0  & 13  & 0 &  0.050388 \\
\hline 
10.29.160.1    &0  & 6  & 0   & 0.023256 \\
\hline 
192.168.3.147  & 2  & 3   & 0.007752  &  0.011628 \\
\hline 
10.178.145.254 & 1  & 0   & 0.003876 &   0\\ 
\hline 
192.168.10.1   & 16 & 31  & 0.062016  &  0.120155\\ 
\hline 
\end{tabular}
\end{center}
\end{table}

Se hicieron varias capturas de tr\'afico en distintas redes. Si bien nos concentramos en la
captura \textit{oficina3}, en la segunda sección del trabajo analizamos los resultados obtenidos en Alto Palermo.


\subsection{Inciso D}

Proponemos distintos modelos alternativos de fuentes de información:

\subsubsection{Modelo 1: Paquetes ARP por IP}
Consideramos cada IP observada como emisora o receptora de un paquete ARP en el subnet 
como fuente de información, y el alfabeto consiste en:\\ \\
0 = \textit{``figurar como fuente de un paquete ARP''}
1 = \textit{``figurar como destino de un paquete ARP''}
\\
\\
Es decir, si una IP es el destino de 3 paquetes ARP durante la captura y 2 veces emisora, la frecuencia relativa de la letra \textit{0} sería  $2/5$.

\subsubsection{Modelo 2: IPs de origen de paquete Who-is}
Usamos como letras del alfabeto a cada IP que figura como dirección de origen de un paquete \textit{Who-is}.

El resultado esperado para el caso del modelo 1 debería ser una
distribución uniforme y, por lo tanto, una entropía máxima. Esto es
así porque todos los hosts en esa LAN, en principio, deberían preguntar
por igual por todos los demás hosts. De manera que la cantidad de paquetes
ARP que deberían emitir cada uno de ellos sería más o menos la misma.

\subsubsection{Modelo 3: IPs de origin de paquetes Is-at}
En este modelo las letras del alfabeto son cada IP que figura como dirección de origen de un paquete Is-at.

Es de esperar que las consultas ARP las responda en su mayoría lo que en el
laboratorio llaman "nodo distinguido". En este nuevo caso, es de esperar que al comparar
la cantidad de información de cada nodo con la entropía calculada, resulte aprente que hay un nodo distinguido.

\subsubsection{Modelo del grafo}
La fuente de informaci\'on es la red y los s\'imbolos del alfabeto son los mensages \textit{Who-is} que se originan en cada \textit{IP} 
distinta para cada otra \textit{IP} distinta. Se aprovecharon los datos que se usaron para armar el grafo de requests.

A continuaci\'on se
presenta una tabla con y la entrop\'ia calculada. Los c\'alculos involucrados se
encuentran en el archivo \textit{analisis/datos.ods}.

\begin{table}[h!]
\caption{Capturas de redes locales}
\begin{center}
\begin{tabular}{|r|p{4cm}|r|}
\hline 
\textbf{Modelo} & \textbf{S\'imbolos} & \textbf{H (bits)}   \\
\hline 
Modelo 1 & Request o Reply & $0.98$ \\
\hline 
Modelo 2 & Request desde cada IP & $3.3986891163$ \\
\hline 
Modelo 3 & Reply desde cada IP & $2.8933984103$ \\
\hline 
Histograma de requests & Requests hacia cada IP & $3.3885582986$ \\
\hline 
Grafo de requests & Request desde cada IP hacia cada IP & $3.7313611023$ \\
\hline
\end{tabular}
\end{center}
\end{table}
